scalar learning